package rifa.persistence.dao;

import java.util.ArrayList;
import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import Utils.HibernateUtil;
import rifa.entidade.Cidade;
import rifa.entidade.Estado;

public class UsuarioDAO {

	public UsuarioDAO() {

	}

	public List<Cidade> carregaCidades(Integer estadoId) {

		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		Query query = session.createQuery("from Cidade c where c.estado.id="
				+ estadoId + " order by c.nome");
		// query.setLong(0, estadoId);

		List lista = query.list();

		t.commit();

		return lista;
	}

	public ArrayList<Estado> carregaEstados() {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Transaction t = session.beginTransaction();
		List<Estado> lista = session.createQuery("from Estado e").list();
		t.commit();
		// select new Estado(e.sigla,e.id) from Estado e
		session.close();
		return (ArrayList<Estado>) lista;
	}

	public Cidade getCidadeById(Long id) {
		Session session = HibernateUtil.getSessionFactory().openSession();
		Cidade c = (Cidade) session.createQuery(
				"from Cidade c where c.id=" + id).list();

		return c;
	}
	
}
